1. Field of the Invention
The present invention relates to a semiconductor storage device using nonvolatile semiconductor memory such as flash memory, and to a data management method therefor.
2. Description of the Related Art
Flash memory is one type of conventional nonvolatile semiconductor memory, and one type of flash memory transfers data in sector units. FIG. 15 is a block diagram of a conventional semiconductor storage device that uses this type of flash memory. As shown in FIG. 15, this semiconductor storage device 100 comprises an input/output controller 101, a logic control unit 102, controller 103, a buffer unit 104 comprising SRAM or other volatile memory, and a memory unit 105 comprising flash memory or other nonvolatile memory.
The input/output controller 101 interfaces with the host system device 110, an information processing device of some kind, through an input/output bus 106. The logic control unit 102 interfaces the host system device 110 using the input/output bus 106 and control bus 107. The controller 103 controls the input/output controller 101, logic control unit 102, buffer unit 104, and memory unit 105 according to commands received from the host system device 110. The input/output bus 106 is used as both an address bus and a data bus. The control bus 107 comprises a plurality of signal lines used by the host system device 110 for supplying various signals to the logic control unit 102, and a signal line for supplying a device status signal from the semiconductor storage device 100 to the host system device 110.
Thus comprised, the input/output controller 101 passes commands received from the host system device 110 via the input/output bus 106 to the controller 103, and passes data likewise received from the host system device 110 via the input/output bus 106 to the buffer unit 104. The logic control unit 102 passes address data received via the input/output bus 106, and control signals received via the control bus 107 to the controller 103, and passes a signal indicative of a device state from the controller 103 to the host system device 110 via the control bus 107.
The controller 103 controls the memory unit 105 according to such control data as address data and commands from the host system device 110 instructing a data read or write operation using the memory unit 105.
While the flash memory used for the memory unit 105 can only read or write data in units of 8 bits or 16 bits, data is exchanged with the host system device 110 in 512-byte units. The controller 103 must therefore use a buffer unit 104 for cache memory.
When the memory unit 105 is AND-type flash memory and data is transferred with the host system device 110 in large sector units in this type of conventional semiconductor storage device, the sector size imposes a minimum overhead requirement for data transfers. More specifically, the need to read and write data between the buffer unit 104 and memory unit 105 in sector units reduces the effective data transfer rate in a system using this semiconductor storage device 100.
An object of the present invention is therefore to provide a semiconductor storage device for reducing data transmission overhead, and thereby reduce a drop in the data transmission rate, as a means of resolving the above problem.
A further object of the present invention is to provide a data management method using a semiconductor storage device according to the present invention.
To achieve the above objects, a semiconductor storage device that uses nonvolatile memory and is used in a host system device such as an information processing device, comprises according to the present invention an interface for interfacing with a host system device; a memory unit comprising a plurality of nonvolatile memory areas enabling cluster unit data transfer; a buffer unit comprising volatile memory used as cache memory for data transfer between a host system device and memory unit by means of an interface; and a controller for controlling the memory unit and buffer unit according to commands from a host system device wherein the controller accesses and uses the buffer unit using a sector address format corresponding to one cluster of the memory unit.
Thus comprised, the memory unit of a semiconductor storage device according to the present invention can transfer data in cluster units, and data can be transferred between the memory unit and buffer unit, which is used as cache memory, in cluster units. Data transfer overhead is thus reduced, and the resulting drop in the data transfer rate is reduced, when compared with sector unit data transfers.
A semiconductor storage device of the invention can be further comprised such that when particular data is read from a memory unit, the memory unit cluster to which the particular data is stored is read into the buffer unit, and the particular data is then read from the buffer unit for transfer to a host system device. Thus comprised, the overhead of data read operations is reduced, and the resulting drop in the data read rate is reduced, when compared with reading data by sector unit.
A semiconductor storage device of the invention can be further comprised such that when data is written to an empty area of a memory unit, data input from a host system device is stored to an address in a buffer unit corresponding to an address specified by a host system device, and a cluster thus formed in the buffer unit is then read and stored to a cluster in the memory unit specified by the host system device. Thus comprised, the overhead of data write operations is also reduced, and the resulting drop in the data write rate is reduced, when compared with writing data by sector unit.
A semiconductor storage device of the invention can be further comprised such that when data stored to a memory unit is rewritten, a cluster of the memory unit to which particular is to be overwritten is read and stored to the buffer unit, the memory unit cluster is erased, data in the cluster stored to the buffer unit corresponding to a memory unit address specified by the host system device is overwritten with data input from the host system device, and a cluster thus formed in the buffer unit is then read and stored to the erased cluster of the memory unit. Thus comprised, the overhead of data rewrite operations is also reduced, and the resulting drop in the data rewrite rate is reduced, when compared with rewriting data by sector unit.
The capacity of the buffer unit in a semiconductor storage device according to the present invention is preferably equivalent to one cluster of the memory unit. This enables the same logic structure of sectors and sector management areas to be used in the buffer unit as in the clusters of the memory unit, and thus makes cluster unit data transfers between the buffer unit and memory unit simple.
Furthermore, the memory unit is preferably AND-type flash memory. As described above, this enables cluster unit data transfers, and reduces the data transfer overhead and the resulting drop in the data transfer rate when compared with sector unit data transfers.
A data management method for a semiconductor storage device used in a host system device such as an information processing device and comprising a memory unit having a plurality of nonvolatile memory areas enabling cluster unit data transfer, and a buffer unit having volatile memory used as cache memory, comprises the following steps for reading data from the memory unit: reading a cluster of the memory unit storing data at an address specified by a host system device, storing a cluster read from the memory unit to the buffer unit, and reading data from a buffer unit address specified by a host system device for output to a host system device.
Other objects and attainments together with a fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.